package com.zhilianbao.leyaogo.receiver;

/**
 * ClassName: BaiduPushMessageReceiver <br>
 * Description: 百度云推送Receiver<br>
 * Push消息处理receiver。请编写您需要的回调函数， 一般来说： onBind是必须的，用来处理startWork返回值； <br>
 * onMessage用来接收透传消息； onSetTags、onDelTags、onListTags是tag相关操作的回调； <br>
 * onNotificationClicked在通知被点击时回调； onUnbind是stopWork接口的返回值回调 <br>
 * 返回值中的errorCode，解释如下： <br>
 * 0 - Success <br>
 * 10001 - Network Problem <br>
 * 10101  Integrate Check Error <br>
 * 30600 - Internal Server Error <br>
 * 30601 - Method Not Allowed <br>
 * 30602 - Request Params Not Valid <br>
 * 30603 - Authentication Failed <br>
 * 30604 - Quota Use Up Payment Required <br>
 * 30605 -Data Required Not Found <br>
 * 30606 - Request Time Expires Timeout <br>
 * 30607 - Channel Token Timeout <br>
 * 30608 - Bind Relation Not Found <br>
 * 30609 - Bind Number Too Many <br>
 * 当您遇到以上返回错误时，如果解释不了您的问题，请用同一请求的返回值requestId和errorCode联系我们追查问题。
 * Author: Cyarie <br>
 * Created: 2016/8/23 14:25 <br>
 * Update Time：<br>
 * Update Description：<br>
 */
public class BaiduPushMessageReceiver /*extends PushMessageReceiver */ {

    //    public static final String TAG = "BaiDuPush";
    //
    //    /**
    //     * PushManager.stopWork() 的回调函数
    //     *
    //     * @param context   上下文
    //     * @param errorCode 错误码 0表示从云推送解绑定成功；非0表示失败
    //     * @param requestId 分配给对云推送的请求的id
    //     */
    //    @Override
    //    public void onUnbind(Context context, int errorCode, String requestId) {
    //        CLog.i(TAG, "onUnbind---" + "errorCode=" + errorCode + "---requestId=" + requestId);
    //    }
    //
    //
    //    /**
    //     * 调用PushManager.startWork后，sdk将对push
    //     * server发起绑定请求，这个过程是异步的。绑定请求的结果通过onBind返回。 如果您需要用单播推送，需要把这里获取的channel
    //     * id和user id上传到应用server中，再调用server接口用channel id和user id给单个手机或者用户推送。
    //     *
    //     * @param context   BroadcastReceiver的执行Context
    //     * @param errorCode 绑定接口返回值，0 - 成功
    //     * @param appid     应用id。errorCode非0时为null
    //     * @param userId    应用user id。errorCode非0时为null
    //     * @param channelId 应用channel id。errorCode非0时为null
    //     * @param requestId 向服务端发起的请求id。在追查问题时有用；
    //     */
    //    @Override
    //    public void onBind(Context context, int errorCode, String appid, String userId, String channelId, String requestId) {
    //        CLog.i(TAG, "onBind---" + "errorCode=" + errorCode + "---appid=" + appid + "---userId=" + userId + "---channelId=" + channelId + "---requestId=" + requestId);
    //        if (errorCode == 0 && !LeYaoGoApplication.getDataKeeper().get(PushConfig.PREF_KEY_BAIDU_PUSH, false)) {
    //            EventBus.getDefault().post(new EventManager(PushEventCode.MSG_CODE_BAIDU_PUSH, channelId));
    //        }
    //    }
    //
    //    /**
    //     * setTags() 的回调函数
    //     *
    //     * @param context     上下文
    //     * @param errorCode   错误码 0表示某些tag已经设置成功；非0表示所有tag的设置均失败
    //     * @param successTags 设置成功的tag
    //     * @param failTags    设置失败的tag
    //     * @param requestId   分配给对云推送的请求的id
    //     */
    //    @Override
    //    public void onSetTags(Context context, int errorCode, List<String> successTags, List<String> failTags, String requestId) {
    //        CLog.i(TAG, "onSetTags---" + "errorCode=" + errorCode + "---successTags=" + successTags + "---failTags=" + failTags + "---requestId=" + requestId);
    //
    //    }
    //
    //    /**
    //     * delTags() 的回调函数
    //     *
    //     * @param context     上下文
    //     * @param errorCode   错误码 0表示某些tag已经删除成功；非0表示所有tag均删除失败
    //     * @param successTags 成功删除的tag
    //     * @param failTags    删除失败的tag
    //     * @param requestId   分配给对云推送的请求的id
    //     */
    //    @Override
    //    public void onDelTags(Context context, int errorCode, List<String> successTags, List<String> failTags, String requestId) {
    //        CLog.i(TAG, "onDelTags---" + "errorCode=" + errorCode + "---successTags=" + successTags + "---failTags=" + failTags + "---requestId=" + requestId);
    //
    //    }
    //
    //    /**
    //     * listTags() 的回调函数
    //     *
    //     * @param context   上下文
    //     * @param errorCode 错误码。0表示列举tag成功；非0表示失败。
    //     * @param tags      当前应用设置的所有tag
    //     * @param requestId 分配给对云推送的请求的id
    //     */
    //    @Override
    //    public void onListTags(Context context, int errorCode, List<String> tags, String requestId) {
    //        CLog.i(TAG, "onListTags---" + "errorCode=" + errorCode + "---tags=" + tags + "---requestId=" + requestId);
    //
    //    }
    //
    //
    //    /**
    //     * 接收透传消息的函数。
    //     *
    //     * @param context             上下文
    //     * @param message             推送的消息
    //     * @param customContentString 自定义内容,为空或者json字符串
    //     */
    //    @Override
    //    public void onMessage(Context context, String message, String customContentString) {
    //        Utils.sendBaiDuPushNotification(message);
    //        CLog.i(TAG, "onMessage---" + "message=" + message + "---customContentString=" + customContentString);
    //
    //    }
    //
    //    /**
    //     * 接收通知点击的函数。
    //     *
    //     * @param context             上下文
    //     * @param title               推送的通知的标题
    //     * @param description         推送的通知的描述
    //     * @param customContentString 自定义内容，为空或者json字符串
    //     */
    //    @Override
    //    public void onNotificationClicked(Context context, String title, String description, String customContentString) {
    //        CLog.i(TAG, "onNotificationClicked---" + "title=" + title + "---description=" + description + "---customContentString=" + customContentString);
    //        //        Utils.clickBaiDuPushNotification(customContentString);
    //    }
    //
    //    /**
    //     * 接收通知到达的函数。
    //     *
    //     * @param context             上下文
    //     * @param title               推送的通知的标题
    //     * @param description         推送的通知的描述
    //     * @param customContentString 自定义内容，为空或者json字符串
    //     */
    //    @Override
    //    public void onNotificationArrived(Context context, String title, String description, String customContentString) {
    //        CLog.i(TAG, "onNotificationArrived---" + "title=" + title + "---description=" + description + "---customContentString=" + customContentString);
    //
    //    }
}
